	
b:

	
	pushq	%rbp
	
	
	movq	%rsp, %rbp
	
	movl	%edi, -4(%rbp)
	movl	-4(%rbp), %eax
	addl	$3, %eax
	popq	%rbp
	
	ret

a:

	
	pushq	%rbp
	
	movq	%rsp, %rbp
	
	subq	$8, %rsp
	movl	%edi, -4(%rbp)
	movl	-4(%rbp), %eax
	movl	%eax, %edi
	call	b
	leave
	
	ret
	

main:

	pushq	%rbp
	
	movq	%rsp, %rbp
	
	movl	$20155228, %edi
	call	a
	addl	$2, %eax
	popq	%rbp
	
	ret

